<template>
  <div>
    <div :id="code" />
  </div>
</template>

<script>
import {request} from '@/utils/request'
import checkPermission from "../../utils/permission";


export default {
  name: 'AmisPageTest',
  data() {
    return {
      amisScoped: null
    }
  },
  computed: {
    code() {
      return this.$route.meta.amis
    },
    userInfo () {
      return this.$store.getters["account/user"]
    },
  },
  mounted() {
    this.$nextTick(() => {
    // const amisJSON1 = require('@/assets/json/'  + 'demoTest.json')
      let amisJSON1 = require('@/assets/json/'  + this.code + '.json')
      this.demo(amisJSON1)
      // let headerToolbar =  amisJSON1.body.headerToolbar
    //   const amisJSON = {
    //     title: 'AmisPageTest',
    //     remark: '专家分类列表',
    //     toolbar: [
    //       {
    //         type: 'button',
    //         actionType: 'dialog',
    //         label: '新增',
    //         icon: 'fa fa-plus pull-left',
    //         primary: true,
    //         dialog: {
    //           title: '新增',
    //           body: {
    //             type: 'form',
    //             name: 'sample-edit-form',
    //             api: {
    //               method: 'POST',
    //               url: 'http://123.56.95.192:9999/mock/701/agri/api/sshfw/expertType/save',

    //               data: {
    //                 name: '${name}',
    //               }
    //             },
    //             body: [
    //               {
    //                 type: 'input-text',
    //                 name: 'name',
    //                 label: '专家分类名称',
    //                 required: true
    //               },

    //             ]
    //           }
    //         }
    //       }
    //     ],
    //     body: {
    //       type: 'crud',
    //       draggable: true,

    //       api: {
    //         method: 'get',
    //         url: 'http://123.56.95.192:9999/mock/701/agri/api/sshfw/expertType/queryListPage',
    //       },

    //       syncLocation: false,
    //       perPage: 10,
    //       keepItemSelectionOnPageChange: true,
    //       maxKeepItemSelectionLength: 11,
    //       labelTpl: '${id} ${name}',

    //       footerToolbar: ['statistics', 'switch-per-page', 'pagination'],
    //       columns: [
    //         {
    //           name: 'name',
    //           label: '专家分类名称',
    //           type: 'text',
    //           toggled: true,

    //         },

    //         {
    //           type: 'operation',
    //           label: '操作',
    //           width: 300,
    //           buttons: [
    //             {
    //               type: 'button',
    //               icon: 'fa fa-eye',
    //               actionType: 'dialog',
    //               tooltip: '查看',
    //               dialog: {
    //                 title: '查看',
    //                 actions: [],
    //                 body: {
    //                   type: 'form',
    //                   body: [
    //                     {
    //                       type: 'input-text',
    //                       name: 'name',
    //                       label: '专家分类名称',
    //                       required: true
    //                     },


    //                   ]
    //                 }
    //               }
    //             },
    //             {
    //               type: 'button',
    //               icon: 'fa fa-pencil',
    //               tooltip: '编辑',
    //               actionType: 'dialog',
    //               dialog: {
    //                 title: '编辑',
    //                 body: {
    //                   type: 'form',
    //                   name: 'sample-edit-form',

    //                   api: {
    //                     method: 'PUT',
    //                     url: 'http://123.56.95.192:9999/mock/701/agri/api/sshfw/expertType/update/$id',

    //                     data: {
    //                       name: '${name}'
    //                     },

    //                   },
    //                   body: [
    //                     {
    //                       type: 'input-text',
    //                       name: 'name',
    //                       label: '专家分类名称',
    //                       required: true
    //                     },


    //                   ]
    //                 }
    //               }
    //             },
    //             {
    //               type: 'button',
    //               icon: 'fa fa-times text-danger',
    //               actionType: 'ajax',
    //               tooltip: '删除',
    //               confirmText: '您确认要删除?',
    //               api: {
    //                 method: 'DELETE',
    //                 url: 'http://123.56.95.192:9999/mock/701/agri/api/sshfw/expertType/delete/$id',


    //               }
    //             }
    //           ],
    //           toggled: true
    //         }
    //       ]
    //     }
    //   }

      this.amisScoped = this.$amis.embed(
        '#' + this.code,
        amisJSON1,
        {
          data: {
            myData: 'amis',
            addBtn: '添加',
            filePath: 'xxxxx',
            userName: this.userInfo.name
          }
        },{
        // 可以不传，用来实现 ajax 请求
        fetcher: ({url, method, data, config}) => {
            return request(url, method, data, config)
        },
        theme: 'antd'
      }

      )

      this.amisScoped.updateProps({
        theme: 'antd'
      })
    })
  },
  methods:{
    demo (data) {
      for(let key in data) {
        if(typeof data[key] === 'object'){
          if(Array.isArray(data[key])){
            for(let i =0; i<data[key].length;i++){
              this.demo(data[key][i])
            }
          }else{
            this.demo(data[key])
          }
        }else{
          if(data['permission']){
            data['className']= !checkPermission(this.code, data['permission'] )?'no-permission': ''
          }
        }
      }
    }
  },
  destroyed() {
    this.amisScoped.unmount()
  }
}
</script>

<style>
.no-permission {
  display: none !important;
}
</style>
